package com.jz.pay;

//import org.apache.dubbo.config.spring.context.annotation.DubboComponentScan;
import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration;
import org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory;
import org.springframework.beans.factory.support.DefaultSingletonBeanRegistry;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
//import org.springframework.cloud.openfeign.FeignAutoConfiguration;
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
import org.springframework.transaction.PlatformTransactionManager;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import org.springframework.data.redis.repository.support.RedisRepositoryFactory;
import org.springframework.data.repository.core.support.RepositoryFactorySupport;
import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext;
import org.springframework.web.context.support.StandardServletEnvironment;
import org.springframework.cloud.bootstrap.BootstrapImportSelectorConfiguration;
import org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration;
import org.springframework.cloud.netflix.archaius.ArchaiusAutoConfiguration;

import java.nio.channels.Channel;
import java.nio.channels.Selector;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;

@EnableSwagger2
// 开启swagger
@ConditionalOnProperty(name = "swagger.enable",  havingValue = "true")
@EnableEurekaClient
//@DubboComponentScan // dubbo
//@EnableSentinel
@SpringBootApplication
public class Pay {
    public static void main(String[] args) {
//        new Thread(new Runnable() {
//            @Override
//            public void run() {
//                test();
//            }
//        }).start();
        SpringApplication.run(Pay.class,args);
//        Vector
        CountDownLatch a ;
        PlatformTransactionManager ab;
        RocketMQAutoConfiguration rocketMQAutoConfiguration;
        Selector selector;
        Channel channel;
        AbstractAutowireCapableBeanFactory abstractAutowireCapableBeanFactory;
        DefaultSingletonBeanRegistry defaultSingletonBeanRegistry;
        AbstractRoutingDataSource abstractRoutingDataSource;
//        org.springframework.aop.config.internalAutoProxyCreator internalAutoProxyCreator;
//        SqlSession
        AtomicBoolean atomicBoolean;
//        atomicBoolean.set();
//        atomicBoolean.compareAndSet(true,false);
        AtomicInteger atomicInteger = new AtomicInteger();
        AtomicLong atomicLong = new AtomicLong();


    }

    static void test(){
//        List list = new ArrayList();
//        int count = 0;
//        while (true) {
//            list.add(String.valueOf(count++));
//            System.out.println(count);
//        }
    }

}
